From 7dfb25f12459d85f0c1f83001bac4d1f92cd76de Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jonas=20=C3=85dahl?= Date: Thu, 15 Oct 2020 14:52:57 +0200 Subject: [PATCH] wayland/surface: Clear has_uncommitted_ack_configure when hiding The 'has_uncommitted_ack_configure' state was added to make sure we're responding to 'xdg_surface.configure' events with 'xdg_surface.ack_configure' requests, as is necessary according to spec. What we didn't do was to clear this state when hiding, meaning that if we hid the surface after a configure event, but before the frame finished and we processed the 'has_uncommitted_ack_configure', we'd try to acknowledge the surface configuration after having destroyed the surface. Closes: #3262 --- gdk/wayland/gdksurface-wayland.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gdk/wayland/gdksurface-wayland.c b/gdk/wayland/gdksurface-wayland.c index 0d8fe2fe74..cabb82379c 100644 --- a/gdk/wayland/gdksurface-wayland.c +++ b/gdk/wayland/gdksurface-wayland.c @@ -2799,6 +2799,8 @@ gdk_wayland_surface_hide_surface (GdkSurface *surface) g_clear_pointer (&impl->popup.layout, gdk_popup_layout_unref); } + impl->has_uncommitted_ack_configure = FALSE; + unset_transient_for_exported (surface); _gdk_wayland_surface_clear_saved_size (surface); -- 2.30.2